package controller.listeners.posprocessingDups;

import model.PosProcessingDuplicatedModel;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import business.ViewLogger;
import view.PosProcessingDuplicatedView;
import view.ViewUtils;

/**
 * Controlador de pulsacion de teclas sobre la tabla de corps filtrados en cache
 * @author 53385255R
 *
 */
public class CentersOfPosCodeCorpsKeyDownListener implements Listener {


	private PosProcessingDuplicatedView _view;
	private PosProcessingDuplicatedModel _model;
	
			/**
			 * @param view
			 * @param model
			 */
			public CentersOfPosCodeCorpsKeyDownListener(PosProcessingDuplicatedView view,
					PosProcessingDuplicatedModel model) {
				this._model = model;
				this._view = view;
			}
			
			/**
			 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
			 */
			public void handleEvent(Event event) {
			
				if (event.keyCode == SWT.F9) {
					if (ViewUtils.getInstance().confirmationMessage("Confirmación", "¿Está seguro de querer realizar la duplicación?")){
						String centerCode = _view.getSelectedPIODFromPosCodeCorp();
						_model.set_selected_center_code(centerCode);
						_model.insertSelectedPIOD("Duplicar");
						_view.setCentersOfIDNO(_model.get_corpsOfIdno());
						
					}
				} else if (event.keyCode == SWT.F12) {
					if (ViewUtils.getInstance().confirmationMessage("Confirmación", "¿Está seguro de querer realizar la duplicación?")){
						_model.insertAllPIODs();
						_view.setCentersOfIDNO(_model.get_corpsOfIdno());
					}
				} else if  (event.keyCode == SWT.F1) {
					
					String help = "\n\nACCIONES PARA EL POSTRATAMIENTO\n- F9: DUPLICAR #. actualiza el registro de CO0 con el PIOD seleccionado como duplicar (#). El resto de PIODs no se insertan" +
					"\n- F12: DUPLICAR *. Actualiza el registro de CO0 e inserta el resto de PIODs, actualizando NUMORG en MA0\n- F6: Codifica el registro de CO0 con el PIOD seleccionado sin duplicar." +
					"\n- F4: Deshace la última acción de postratamiento\n-F5: Refresca la tabla de Idcodecorps";
					ViewUtils.getInstance().informationMessage("Ayuda tabla piods duplicados", help,true);
					ViewLogger.getInstance().info(help);
			
				}else if(event.keyCode == SWT.F6){
					if (ViewUtils.getInstance().confirmationMessage("Confirmación", "¿Está seguro de codificar en vez de duplicar?")){
						String centerCode = _view.getSelectedPIODFromPosCodeCorp();
						_model.set_selected_center_code(centerCode);
						_model.insertSelectedPIOD("Hecho");
						
						_view.setCentersOfIDNO(_model.get_corpsOfIdno());
					}
				}
			}
		
}